#ifndef tlmServiceApp_H
#define tlmServiceApp_H

#include "tlmServiceMsgHandler.h"

#include "Telematics.h"

//## operation GetParaAdmin()
class tlmRmtCfgParaAdmin;
//## operation GetParaNavi()
class tlmRmtCfgParaNavi;
//## operation GetParaWeb()
class tlmRmtCfgParaWeb;
//## operation OnReceiveMsg(tlmServiceMsg)
class tlmServiceMsg;
//## operation SetMsgHandler(tlmServiceMsgHandler)
class tlmServiceMsgHandler;
//## class tlmServiceApp
class tlmServiceApp {
    ////    Friends    ////
    
public :


    ////    Constructors and destructors    ////
    
    tlmServiceApp();
    
    virtual ~tlmServiceApp();
    
    ////    Operations    ////
    
    //## operation GetAckStatus()
    virtual uint8_t GetAckStatus();
    
    //## operation GetParaAdmin()
    virtual tlmRmtCfgParaAdmin* GetParaAdmin();
    
    //## operation GetParaNavi()
    virtual tlmRmtCfgParaNavi* GetParaNavi();
    
    //## operation GetParaWeb()
    virtual tlmRmtCfgParaWeb* GetParaWeb();
    
    //## operation OnReceiveMsg(tlmServiceMsg)
    virtual void OnReceiveMsg(tlmServiceMsg* srvMsg)=0;
    //## operation SetMsgHandler(tlmServiceMsgHandler)
    void SetMsgHandler(tlmServiceMsgHandler* pMsgHandler);
protected :

    tlmServiceMsgHandler* mMsgHandler;		//## attribute mMsgHandler
};



#endif
